home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / 0042995.lsp < prev    next >
Text File  |  1998-03-15  |  13KB  |  326 lines

  1. ;=============429.95 KLEMMPROFIL 40x40 - 180°
  2.  
  3. (EAITDBL "0042995")
  4. (EAITmsg "mb_mld10" "\n" "002" nil) (princ "........") (princ EAITnrx) (princ "\n")
  5. (princ)
  6.  
  7. (defun C:42995H2 (/ P0 P1 P2 P3 P4 P10 P11 P12 P13 E1 E2 E3 E4 E5 E6
  8.                     Li Lix L2 L2x Wi D40 D5 D14 BName n1 n2 Ben2 Wi2 Px)
  9.    (EAITDBL "0042995")
  10.    (princ (strcat "\n\n" EAITbez1))
  11.    (EAITvari)
  12.    (if (not EAITlpr)(setq EAITlpr 0.0))
  13.    (EAITvars)
  14.    (EAITbpt nil nil nil)
  15.    (setq P1 (getpoint))
  16.    (if (= P1 nil)(setq P1 (EAITrpt)))
  17.    
  18.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  19.    (initget (+ 2 4))
  20.    (setq Li (getdist " "))
  21.    (if (= Li nil)(setq Li EAITlpr))
  22.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  23.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  24.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  25.       (initget (+ 2 4))
  26.       (setq Li (getdist " "))
  27.       (if (= Li nil)(setq Li EAITlpr))
  28.    )
  29.    (setvar "OSMODE" 0)
  30.  
  31.    ;1 Nachkommastelle
  32.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  33.    (princ "\n  -> ")(princ Li)
  34.    
  35.    (initget 1)
  36.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  37.    (setq Wi (getangle P1))
  38.    (setq Wi (* 180.0 (/ Wi Pi)))
  39.    (cond  ((and (>= Wi 90)  (< Wi 180)) (setq Li (* Li -1) D40 40.0 D5 5.0 D14 14.0 Wi 135) )
  40.           ((and (>= Wi 180) (< Wi 270)) (setq D40 -40.0  Li (* Li -1) D5 -35.0 D14 -26.0 Wi 225) )
  41.           ((and (>= Wi 270) (< Wi 360)) (setq D40 -40.0 D5 -35.0 D14 -26.0 Wi 315) )
  42.           (T (setq D40 40.0 D5 5.0 D14 14.0 Wi 45))
  43.    )
  44.    (setq P2 (list (+ (car P1) Li) (cadr P1))
  45.          P3 (list (car P2) (+ (cadr P2) D40))
  46.          P4 (list (car P1) (cadr P3))
  47.    )
  48.    (command EAITlay EAITlse "EAIT50" "")
  49.    (command EAITlin P1 P2 "")
  50.    (setq E1 (entlast))
  51.    (command EAITlin P2 P3 P4 P1 "" )
  52.  
  53.    (setq Px (list (car P1)(+ (cadr P1)(/ D40 2))))
  54.    (EAITmsg "mb_mld10" "\n" "019" nil)(EAITmsg "mb_mld10" " " "024" ":")  ;Lage der Sichtkante (Return = keine):
  55.    (setq Wi2 (getangle Px))
  56.    (if (/= Wi2 nil) (setq Wi2 (* 180.0 (/ Wi2 Pi))) )
  57.    (if (and (>= Wi2 0) (< Wi2 180))
  58.             (setq P10 (list (car P1)(- (cadr P4) D5))
  59.                   P11 (list (car P2)(cadr P10))
  60.                   P12 (list (car P1)(- (cadr P4) D14))
  61.                   P13 (list (car P2)(cadr P12)) )
  62.             (setq P10 (list (car P1)(+ (cadr P1) D5))
  63.                   P11 (list (car P2)(cadr P10))
  64.                   P12 (list (car P1)(+ (cadr P1) D14))
  65.                   P13 (list (car P2)(cadr P12)) )
  66.    )
  67.    (setq BName (EAITbnr))
  68.    (if (/= Wi2 nil)
  69.              (progn
  70.                     (command EAITlin P10 P11 "" EAITlin P12 P13 "")
  71.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4) E6 (entnext E5))
  72.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 "")
  73.              )
  74.              (progn
  75.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  76.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  77.              )
  78.    )
  79.    (command EAITege BName P1 "" "" "")
  80.  
  81.    (setq Li (abs Li))
  82.    (initget (+ 2 4))
  83.    (EAITmsg "mb_mld10" "\n\n" "020" ":  ")           ;Klemmleiste:  <1 => L1 - 5.0> / 2 => L1 - 50.0 / 3 => L / Laenge
  84.    (setq L2 (getreal))
  85.    (cond ((= L2 1)(setq L2 (- Li 5.0)))
  86.          ((= L2 nil)(setq L2 (- Li 5.0)))
  87.          ((= L2 2)(setq L2 (- Li 50.0)))
  88.          ((= L2 3)(setq L2 Li))
  89.    )
  90.    (if (or(< L2 EAITlmin)(> L2 EAITlmax))
  91.        (progn (EAITmsg "mb_mld10" "\n" "021" nil)(EAITmsg "mb_mld13" " " "004" " ")(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld13" " " "005" " ")
  92.                 (princ EAITlmax)(EAITmsg "mb_mld13" nil "006" nil)  ;Ungültige Laenge:  min. EAITlmin mm  max. EAITlmax mm
  93.            (EAITmsg "mb_mld10" "\n" "022" "\n")        ;   -->  auf 0.0 mm korrigiert
  94.               (setq L2 0.0)
  95.        )
  96.    )
  97.    (setq Li (rtos (abs Li) 2 1) L2 (rtos L2 2 1))
  98.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib Wi) 5) "" "" ""
  99.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li L2 EAITnr
  100.    )
  101.  
  102.    ;letzte Laenge (Li) merken
  103.    (setq Li (atof Li))
  104.    (setq EAITlpr Li)
  105.    
  106.    (EAITvarz2)
  107.    (princ)
  108. )
  109.  
  110.  
  111. (defun C:42995S2 (/ Px P0 P1 P2 P3 P4 P10 P11 P12 P13 E1 E2 E3 E4 E5 E6 Li Lix
  112.              L2 L2x Wi Wi2 KWi KWix DWx W90 Wix Wi2x BName n1 n2 Ben2 WU WO W2x)
  113.    (EAITDBL "0042995")
  114.    (princ (strcat "\n\n" EAITbez1))
  115.    (EAITvari)
  116.    (if (not EAITlpr)(setq EAITlpr 0.0))
  117.    (EAITvars)
  118.    (EAITbpt nil nil nil)
  119.    (setq P1 (getpoint))
  120.    (if (= P1 nil)(setq P1 (EAITrpt)))
  121.    
  122.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  123.    (initget (+ 2 4))
  124.    (setq Li (getdist " "))
  125.    (if (= Li nil)(setq Li EAITlpr))
  126.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  127.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  128.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  129.       (initget (+ 2 4))
  130.       (setq Li (getdist " "))
  131.       (if (= Li nil)(setq Li EAITlpr))
  132.    )
  133.    (setvar "OSMODE" 0)
  134.  
  135.    ;1 Nachkommastelle
  136.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  137.    (princ "\n  -> ")(princ Li)
  138.    
  139.    (initget 1)
  140.    (EAITmsg "mb_mld10" "\n" "004" nil)            ;Winkel
  141.    (setq Wi (getangle P1))
  142.    (setvar "OSMODE" 0)
  143.    (initget 1)
  144.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  145.    (setq KWi (getangle P1))
  146.  
  147.    (setq Wix (EAITbig Wi) KWix (EAITbig KWi))
  148.    (if (>= Wix KWix) (setq DWx (+ KWix (- 360 Wix))) (setq DWx (- KWix Wix)))
  149.    (cond
  150.       ( (and (>= DWx 0) (< DWx 90))    (setq W90 90.0) )
  151.       ( (and (>= DWx 90) (< DWx 180))  (setq W90 -90.0 Wi (+ Wi (EAITgib 180))) )
  152.       ( (and (>= DWx 180) (< DWx 270)) (setq W90 90.0 Wi (+ Wi (EAITgib 180))) )
  153.       ( T (setq W90 -90.0) )
  154.    )
  155.  
  156.    (setq P2 (polar P1 Wi Li)
  157.          P3 (polar P2 (+ Wi (EAITgib W90)) 40.0)
  158.          P4 (polar P3 (+ Wi (EAITgib 180)) Li)
  159.    )
  160.    (command EAITlay EAITlse "EAIT50" "")
  161.    (command EAITlin P1 P2 "")
  162.    (setq E1 (entlast))
  163.    (command EAITlin P2 P3 P4 P1 "")
  164.  
  165.  
  166.    (setq Px (polar P1 (+ Wi (EAITgib W90)) 20.0))
  167.    (EAITmsg "mb_mld10" "\n" "019" nil)(EAITmsg "mb_mld10" " " "024" ":")  ;Lage der Sichtkante (Return = keine):
  168.    (setq Wi2 (getangle Px))
  169.    (if (/= Wi2 nil)(setq Wi2x (EAITbig Wi2)) )
  170.    (if (and (/= Wi2 nil)(<= Wix 180)) (setq WU Wix WO (+ Wix 180)) (setq WU (- Wix 180) WO Wix))
  171.    (if (and (<= Wi2x WU)(< Wi2 WO)) (setq Wi2x (+ (- 360 WU) Wi2x)))
  172.    (if (and (>= W2x WU)(< Wi2x WO))
  173.            (setq P10 (polar Px (+ (EAITgib WU)(EAITgib 90)) 15.0) P11 (polar P10 Wi Li)
  174.                  P12 (polar Px (+ (EAITgib WU)(EAITgib 90))  6.0) P13 (polar P12 Wi Li))
  175.            (setq P10 (polar Px (+ (EAITgib WU)(EAITgib 90))-15.0) P11 (polar P10 Wi Li)
  176.                  P12 (polar Px (+ (EAITgib WU)(EAITgib 90)) -6.0) P13 (polar P12 Wi Li))
  177.    )
  178.    (setq BName (EAITbnr))
  179.    (if (/= Wi2 nil)
  180.              (progn
  181.                     (command EAITlin P10 P11 "" EAITlin P12 P13 "")
  182.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4) E6 (entnext E5) )
  183.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 "")
  184.              )
  185.              (progn
  186.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  187.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  188.              )
  189.    )
  190.    (command EAITege BName P1 "" "" "")
  191.  
  192.    (setq Li (abs Li))
  193.    (initget (+ 2 4))
  194.    (EAITmsg "mb_mld10" "\n\n" "020" ":  ")           ;Klemmleiste:  <1 => L1 - 5.0> / 2 => L1 - 50.0 / 3 => L / Laenge
  195.    (setq L2 (getreal))
  196.    (cond ((= L2 1)(setq L2 (- Li 5.0)))
  197.          ((= L2 nil)(setq L2 (- Li 5.0)))
  198.          ((= L2 2)(setq L2 (- Li 50.0)))
  199.          ((= L2 3)(setq L2 Li))
  200.    )
  201.    (if (or(< L2 EAITlmin)(> L2 EAITlmax))
  202.        (progn (EAITmsg "mb_mld10" "\n" "021" nil)(EAITmsg "mb_mld13" " " "004" " ")(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld13" " " "005" " ")
  203.                 (princ EAITlmax)(EAITmsg "mb_mld13" nil "006" nil)  ;Ungültige Laenge:  min. EAITlmin mm  max. EAITlmax mm
  204.            (EAITmsg "mb_mld10" "\n" "022" "\n")        ;   -->  auf 0.0 mm korrigiert
  205.               (setq L2 0.0)
  206.        )
  207.    )
  208.    (setq Li (rtos (abs Li) 2 1) L2 (rtos L2 2 1))
  209.  
  210.    (command EAITege (strcat EAITpfn "EAITinfo") (polar (polar P1 Wi 3.5) (+ Wi (EAITgib W90)) 3.5) "" "" ""
  211.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li L2 EAITnr
  212.    )
  213.    
  214.    ;letzte Laenge (Li) merken
  215.    (setq Li (atof Li))
  216.    (setq EAITlpr Li)
  217.    
  218.    (EAITvarz2)
  219.    (princ)
  220. )
  221.  
  222.  
  223. (defun C:42995V2 (/ P0 P1 P2 P3 P4 P10 P11 P12 P13 E1 E2 E3 E4 E5 E6
  224.                     Li Lix L2 L2x Wi D40 D5 D14 BName n1 n2 Ben2 Wi2 Px)
  225.    (EAITDBL "0042995")
  226.    (princ (strcat "\n\n" EAITbez1))
  227.    (EAITvari)
  228.    (if (not EAITlpr)(setq EAITlpr 0.0))
  229.    (EAITvars)
  230.    (EAITbpt nil nil nil)
  231.    (setq P1 (getpoint))
  232.    (if (= P1 nil)(setq P1 (EAITrpt)))
  233.    
  234.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  235.    (initget (+ 2 4))
  236.    (setq Li (getdist " "))
  237.    (if (= Li nil)(setq Li EAITlpr))
  238.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  239.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  240.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  241.       (initget (+ 2 4))
  242.       (setq Li (getdist " "))
  243.       (if (= Li nil)(setq Li EAITlpr))
  244.    )
  245.    (setvar "OSMODE" 0)
  246.  
  247.    ;1 Nachkommastelle
  248.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  249.    (princ "\n  -> ")(princ Li)
  250.    
  251.    (initget 1)
  252.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  253.    (setq Wi (getangle P1))
  254.    (setq Wi (* 180.0 (/ Wi Pi)))
  255.    (cond  ( (and (>= Wi 90)  (< Wi 180)) (setq D40 -40.0 D5 -35.0 D14 -26.0 Wi 135) )
  256.           ( (and (>= Wi 180) (< Wi 270)) (setq D40 -40.0 D5 -35.0 D14 -26.0 Li (* Li -1) Wi 225) )
  257.           ( (and (>= Wi 270) (< Wi 360)) (setq D40  40.0 D5   5.0 D14  14.0 Li (* Li -1) Wi 315) )
  258.           (T                             (setq D40 40.0 D5 5.0 D14 14.0 Wi 45))
  259.    )
  260.    (setq P2 (list (+ (car P1) D40) (cadr P1))
  261.          P3 (list (car P2) (+ (cadr P2) Li))
  262.          P4 (list (car P1) (cadr P3))
  263.    )
  264.    (command EAITlay EAITlse "EAIT50" "")
  265.    (command EAITlin P1 P2 "")
  266.    (setq E1 (entlast))
  267.    (command EAITlin P2 P3 P4 P1 "" )
  268.  
  269.    (setq Px (list (+ (car P1)(/ D40 2)) (cadr P1)))
  270.    (EAITmsg "mb_mld10" "\n" "019" nil)(EAITmsg "mb_mld10" " " "024" ":")  ;Lage der Sichtkante (Return = keine):
  271.    (setq Wi2 (getangle Px))
  272.    (if (/= Wi2 nil) (setq Wi2 (* 180.0 (/ Wi2 Pi))))
  273.    (if (and (>= Wi2 90) (< Wi2 270))
  274.             (setq P10 (list (+ (car P1) D5)(cadr P1))
  275.                   P11 (list (car P10)(cadr P3))
  276.                   P12 (list (+ (car P1) D14)(cadr P1))
  277.                   P13 (list (car P12)(cadr P3)) )
  278.             (setq P10 (list (- (car P2) D5)(cadr P1))
  279.                   P11 (list (car P10)(cadr P3))
  280.                   P12 (list (- (car P2) D14)(cadr P1))
  281.                   P13 (list (car P12)(cadr P3)) )
  282.    )
  283.    (setq BName (EAITbnr))
  284.    (if (/= Wi2 nil)
  285.              (progn
  286.                     (command EAITlin P10 P11 "" EAITlin P12 P13 "")
  287.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4)  E6 (entnext E5) )
  288.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 "")
  289.              )
  290.              (progn
  291.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  292.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  293.              )
  294.    )
  295.    (command EAITege BName P1 "" "" "")
  296.  
  297.    (setq Li (abs Li))
  298.    (initget (+ 2 4))
  299.    (EAITmsg "mb_mld10" "\n\n" "020" ":  ")           ;Klemmleiste:  <1 => L1 - 5.0> / 2 => L1 - 50.0 / 3 => L / Laenge
  300.    (setq L2 (getreal))
  301.    (cond ((= L2 1)(setq L2 (- Li 5.0)))
  302.          ((= L2 nil)(setq L2 (- Li 5.0)))
  303.          ((= L2 2)(setq L2 (- Li 50.0)))
  304.          ((= L2 3)(setq L2 Li))
  305.    )
  306.    (if (or(< L2 EAITlmin)(> L2 EAITlmax))
  307.        (progn (EAITmsg "mb_mld10" "\n" "021" nil)(EAITmsg "mb_mld13" " " "004" " ")(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld13" " " "005" " ")
  308.                 (princ EAITlmax)(EAITmsg "mb_mld13" nil "006" nil)  ;Ungültige Laenge:  min. EAITlmin mm  max. EAITlmax mm
  309.            (EAITmsg "mb_mld10" "\n" "022" "\n")        ;   -->  auf 0.0 mm korrigiert
  310.               (setq L2 0.0)
  311.        )
  312.    )
  313.    (setq Li (rtos (abs Li) 2 1) L2 (rtos L2 2 1))
  314.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib Wi) 5) "" "" ""
  315.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li L2 EAITnr
  316.    )
  317.  
  318.    ;letzte Laenge (Li) merken
  319.    (setq Li (atof Li))
  320.    (setq EAITlpr Li)
  321.    
  322.    (EAITvarz2)
  323.    (princ)
  324. )
  325. (princ)
  326.